"你怎么又忘了我上次说的话?""这事儿我上周跟你说过了啊。"——不少智能体像个金鱼,转头就忘。用户每次都要从零自我介绍,长对话聊到后半段开始胡言乱语。根子在没有记忆系统:把所有上下文一股脑塞进窗口,超了就截断,体验自然崩。
像人一样分工:短期记"正在聊啥",长期记"你是谁、你喜欢啥",需要查知识时去向量库"翻资料"。三层配合,智能体才有真正的记性。
1. 短期记忆(上下文窗口)。当前对话直接放上下文,但设上限。超长时做"滚动摘要"——把前面聊的压成几句话保留,细节丢弃,既省 token 又不丢主线。
2. 长期记忆(持久化)。用户的身份、偏好、历史结论落库(数据库/文件)。每次新对话开头先"加载用户档案",智能体一开场就知道你是谁。
长期记忆写入示例(指令):
"把本次对话中确认的用户偏好(如:沟通风格偏简洁、时区 UTC+8)写入用户档案 user_882,键名用稳定英文,值带时间戳。"
3. 向量检索(知识记忆)。把产品文档、历史工单切片建向量索引。需要时按语义召回最相关片段,喂给模型当依据。
4. 遗忘策略。过期数据、低权重缓存定期清理,防止记忆库无限膨胀、检索变慢、噪声变多。
某客服智能体接入三层记忆后,重复提问率从 38% 降到 9%,平均对话轮次缩短 4 轮,用户满意度涨了 22 个点。老客户再来时,智能体能直接接上上次的上下文,体验像"记得你的老员工"。
① 别把秘密都塞短期:敏感信息走长期记忆要加密,别明文落库。② 检索不是越多越好:召回 20 段不如精准 3 段,多了反而干扰。③ 遗忘要可控:用户要求删数据时要能真删干净,别留副本。
设计智能体时,先在一张纸上画出:什么进短期、什么进长期、什么走向量检索、什么该忘。这张图比换更大的模型更能解决"记性差"。记性,是设计出来的。